namespace SolidMvvm {
	using System;
	using System.Diagnostics;

	public abstract class ModelBase : PropertyChangedNotifier, IDisposable {
		public virtual void Dispose() {
			GC.SuppressFinalize(this);
		}

#if DEBUG
		~ModelBase() {
			var lookAtThisTypeThatWasNotDisposed = GetType();
			Debugger.Break(); // Oops. Something wasn't disposed.
			Debug.WriteLine("NOT DISPOSED: " + lookAtThisTypeThatWasNotDisposed);
		}
#endif
	}
}
